package org.wdcode.base.params;

import org.wdcode.common.params.WdCommonParams;
import org.wdcode.common.params.WdParams;
import org.wdcode.core.params.WdCoreParams;
import org.wdcode.web.params.WdWebParams;

/**
 * WdCode写参数类
 * @author WD
 * @since JDK6
 * @version 1.0 2010-01-05
 */
public abstract class WdWriteParams extends WdParams {
	/**
	 * 写配置文件
	 */
	public final static void write() {
		getConfig().write();
	}

	/**
	 * 设置实体状态
	 * @param state 实体状态
	 */
	public final static void setEntityState(Short state) {
		WdBaseParams.setEntityState(state);
	}

	/**
	 * 设置验证码字体
	 * @param font 验证码字体
	 */
	public final static void setVerifyFont(String font) {
		WdWebParams.setVerifyFont(font);
	}

	/**
	 * 设置验证码出现的字符集
	 * @param code 验证码出现的字符集
	 */
	public final static void setVerifyCode(String code) {
		WdWebParams.setVerifyCode(code);
	}

	/**
	 * 设置验证码长度
	 * @param length 验证码长度
	 * @return 验证码长度
	 */
	public final static void setVerifyLength(int length) {
		WdWebParams.setVerifyLength(length);
	}

	/**
	 * 设置验证码保存到session中的key
	 * @param key 验证码保存到session中的key
	 */
	public final static void setVerifyKey(String key) {
		WdWebParams.setVerifyKey(key);
	}

	/**
	 * 设置缓存大小
	 * @param cacheSize 缓存大小
	 */
	public final static void setCacheSize(int size) {
		WdCoreParams.setCacheSize(size);
	}

	/**
	 * 设置分页大小
	 * @param size 分页大小
	 */
	public final static void setPageSize(int size) {
		WdBaseParams.setPageSize(size);
	}

	/**
	 * 设置分页标签id name
	 * @param flag 分页标签id name
	 */
	public final static void setPageFlag(String flag) {
		WdBaseParams.setPageFlag(flag);
	}

	/**
	 * 设置IO使用的缓冲区大小
	 * @param size IO使用的缓冲区大小
	 */
	public final static void setIoBufferSize(int size) {
		WdCommonParams.setIoBufferSize(size);
	}

	/**
	 * 设置发送Email使用的编码格式
	 * @param encoding 发送Email使用的编码格式
	 */
	public final static void setEmailEncoding(String encoding) {
		WdWebParams.setEmailEncoding(encoding);
	}

	/**
	 * 设置发送Email是否需要验证
	 * @param auth 发送Email是否需要验证
	 */
	public final static void setEmailAuth(boolean auth) {
		WdWebParams.setEmailAuth(auth);
	}

	/**
	 * 设置发送邮件服务器地址
	 * @param from 发送邮件服务器地址
	 */
	public final static void setEmailFrom(String from) {
		WdWebParams.setEmailFrom(from);
	}

	/**
	 * 设置发送邮件服务器密码
	 * @param password 发送邮件服务器密码
	 */
	public final static void setEmailPassword(String password) {
		WdWebParams.setEmailPassword(password);
	}

	/**
	 * 设置发送邮件服务器Host
	 * @param host 发送邮件服务器Host
	 */
	public final static void setEmailHost(String host) {
		WdWebParams.setEmailHost(host);
	}

	/**
	 * 设置日期格式
	 * @param format 日期格式
	 */
	public final static void setDateFormat(String format) {
		WdCommonParams.setDateFormat(format);
	}

	/**
	 * 设置XML默认根节点名称
	 * @param root XML默认根节点名称
	 */
	public final static void setXmlRoot(String root) {
		WdCoreParams.setXmlRoot(root);
	}

	/**
	 * XML默认编码格式
	 * @param encoding XML默认编码格式
	 */
	public final static void setXmlEncoding(String encoding) {
		WdCoreParams.setXmlEncoding(encoding);
	}
}
